/**
 * 给定数组H和B，要求选出K对数(Hi, Bi)，满足 Hi <= Bi
 * 问能否达到要求
 * 将H和B排序对每个Hi，挑选满足条件的最小的Bi即可
 * 然后看是否能满足条件
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;
using vi = vector<llt>;
using vvi = vector<vi>;

int N;
int M;
int K;

vi H, B;

void work(){
    cin >> N >> M >> K;
    H.assign(N, 0);
    for(auto & i : H) cin >> i;
    B.assign(M, 0);
    for(auto & i : B) cin >> i;

    sort(H.begin(), H.end());
    sort(B.begin(), B.end());

    int kh = 0, kb = 0;
    while(1){
        while(kb < M and B[kb] < H[kh]) ++kb;
        if(kb == M) break;

        if(0 == --K) return (void)(cout << "Yes" << endl);
        
        ++kb;
        if(N == ++kh) break;
    }
    cout << "No" << endl;
    return;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);	
    int nofkase = 1;
    // cin >> nofkase;
    while(nofkase--) work();
	return 0;
}